package com.inexas.cu.client.mvp;


/**
 * When a method is called that will update the state of a {@link PropertyImpl} or
 * {@link ActuatorImpl} a Source must be provided. The source is used by the
 * {@link ObservableImpl} to avoid firing events back to the object that originated
 * the change. For example: a {@link View} is observing a password field. The
 * user enters a password and presses the tab key. The View will get the value
 * from the password widget and update the matching property in the
 * Presentation Model. This in turn will cause an event to be fired. As the
 * View knows already what the new value is there is no need for the Observable
 * to fire the event back to the View. The if the Source 'equals()' the
 * observer, no event is fired.
 */
public interface Source {
	// Marker interface only
}
